<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><title>Linux总结 | SuJin博客</title><meta name="keywords" content="博客，SuJin"><meta name="author" content="SuJin"><meta name="copyright" content="SuJin"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="Linux远程登录 CentOS查看 CentOS 的 ip 地址：ifconfig 打开 Xshell，新建一个会话。 双击刚才创建的会话，输入你在 CentOS 中创建的用户的用户名和密码远程登录到 CentOS 终端。 远程文件传输打开 Xftp 软件，新建一个会话。 连接创建的会话，输入你在 CentOS 中创建的用户的用户名和密码远程登录到 CentOS 终端。 登录后就可以进行文件传输">
<meta property="og:type" content="article">
<meta property="og:title" content="Linux总结">
<meta property="og:url" content="https://sujiesujie12456789.gitee.io/2021/06/30/Linux/index.html">
<meta property="og:site_name" content="SuJin博客">
<meta property="og:description" content="Linux远程登录 CentOS查看 CentOS 的 ip 地址：ifconfig 打开 Xshell，新建一个会话。 双击刚才创建的会话，输入你在 CentOS 中创建的用户的用户名和密码远程登录到 CentOS 终端。 远程文件传输打开 Xftp 软件，新建一个会话。 连接创建的会话，输入你在 CentOS 中创建的用户的用户名和密码远程登录到 CentOS 终端。 登录后就可以进行文件传输">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://picsum.photos/id/862/5451/3634">
<meta property="article:published_time" content="2021-06-30T13:16:05.000Z">
<meta property="article:modified_time" content="2022-04-15T12:58:40.837Z">
<meta property="article:author" content="SuJin">
<meta property="article:tag" content="博客，SuJin">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://picsum.photos/id/862/5451/3634"><link rel="shortcut icon" href="http://placekitten.com/350/200"><link rel="canonical" href="https://sujiesujie12456789.gitee.io/2021/06/30/Linux/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = { 
  root: '/',
  algolia: undefined,
  localSearch: undefined,
  translate: undefined,
  noticeOutdate: undefined,
  highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
  copy: {
    success: '复制成功',
    error: '复制错误',
    noSupport: '浏览器不支持'
  },
  relativeDate: {
    homepage: false,
    post: false
  },
  runtime: '',
  date_suffix: {
    just: '刚刚',
    min: '分钟前',
    hour: '小时前',
    day: '天前',
    month: '个月前'
  },
  copyright: undefined,
  lightbox: 'fancybox',
  Snackbar: undefined,
  source: {
    justifiedGallery: {
      js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery@2/dist/fjGallery.min.js',
      css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery@2/dist/fjGallery.min.css'
    }
  },
  isPhotoFigcaption: false,
  islazyload: false,
  isAnchor: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
  title: 'Linux总结',
  isPost: true,
  isHome: false,
  isHighlightShrink: false,
  isToc: true,
  postUpdate: '2022-04-15 20:58:40'
}</script><noscript><style type="text/css">
  #nav {
    opacity: 1
  }
  .justified-gallery img {
    opacity: 1
  }

  #recent-posts time,
  #post-meta time {
    display: inline !important
  }
</style></noscript><script>(win=>{
    win.saveToLocal = {
      set: function setWithExpiry(key, value, ttl) {
        if (ttl === 0) return
        const now = new Date()
        const expiryDay = ttl * 86400000
        const item = {
          value: value,
          expiry: now.getTime() + expiryDay,
        }
        localStorage.setItem(key, JSON.stringify(item))
      },

      get: function getWithExpiry(key) {
        const itemStr = localStorage.getItem(key)

        if (!itemStr) {
          return undefined
        }
        const item = JSON.parse(itemStr)
        const now = new Date()

        if (now.getTime() > item.expiry) {
          localStorage.removeItem(key)
          return undefined
        }
        return item.value
      }
    }
  
    win.getScript = url => new Promise((resolve, reject) => {
      const script = document.createElement('script')
      script.src = url
      script.async = true
      script.onerror = reject
      script.onload = script.onreadystatechange = function() {
        const loadState = this.readyState
        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
        script.onload = script.onreadystatechange = null
        resolve()
      }
      document.head.appendChild(script)
    })
  
      win.activateDarkMode = function () {
        document.documentElement.setAttribute('data-theme', 'dark')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
        }
      }
      win.activateLightMode = function () {
        document.documentElement.setAttribute('data-theme', 'light')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
        }
      }
      const t = saveToLocal.get('theme')
    
          if (t === 'dark') activateDarkMode()
          else if (t === 'light') activateLightMode()
        
      const asideStatus = saveToLocal.get('aside-status')
      if (asideStatus !== undefined) {
        if (asideStatus === 'hide') {
          document.documentElement.classList.add('hide-aside')
        } else {
          document.documentElement.classList.remove('hide-aside')
        }
      }
    
    const detectApple = () => {
      if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
        document.documentElement.classList.add('apple')
      }
    }
    detectApple()
    })(window)</script><meta name="generator" content="Hexo 5.4.0"><link rel="alternate" href="/atom.xml" title="SuJin博客" type="application/atom+xml">
</head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="http://picsum.photos/id/859/1919/1919" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data is-center"><div class="data-item"><a href="/archives/"><div class="headline">文章</div><div class="length-num">11</div></a></div><div class="data-item"><a href="/tags/"><div class="headline">标签</div><div class="length-num">0</div></a></div><div class="data-item"><a href="/categories/"><div class="headline">分类</div><div class="length-num">0</div></a></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 主页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div></div></div></div><div class="post" id="body-wrap"><header class="post-bg" id="page-header" style="background-image: url('https://picsum.photos/id/862/5451/3634')"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">SuJin博客</a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 主页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="post-info"><h1 class="post-title">Linux总结</h1><div id="post-meta"><div class="meta-firstline"><span class="post-meta-date"><i class="far fa-calendar-alt fa-fw post-meta-icon"></i><span class="post-meta-label">发表于</span><time class="post-meta-date-created" datetime="2021-06-30T13:16:05.000Z" title="发表于 2021-06-30 21:16:05">2021-06-30</time><span class="post-meta-separator">|</span><i class="fas fa-history fa-fw post-meta-icon"></i><span class="post-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2022-04-15T12:58:40.837Z" title="更新于 2022-04-15 20:58:40">2022-04-15</time></span></div><div class="meta-secondline"><span class="post-meta-separator">|</span><span class="post-meta-pv-cv" id="" data-flag-title="Linux总结"><i class="far fa-eye fa-fw post-meta-icon"></i><span class="post-meta-label">阅读量:</span><span id="busuanzi_value_page_pv"></span></span></div></div></div></header><main class="layout" id="content-inner"><div id="post"><article class="post-content" id="article-container"><h1 id="Linux"><a href="#Linux" class="headerlink" title="Linux"></a>Linux</h1><h3 id="远程登录-CentOS"><a href="#远程登录-CentOS" class="headerlink" title="远程登录 CentOS"></a>远程登录 CentOS</h3><p>查看 <code>CentOS</code> 的 ip 地址：<code>ifconfig</code></p>
<p>打开 Xshell，新建一个会话。</p>
<p>双击刚才创建的会话，输入你在 <code>CentOS</code> 中创建的用户的用户名和密码远程登录到 <code>CentOS</code> 终端。</p>
<h3 id="远程文件传输"><a href="#远程文件传输" class="headerlink" title="远程文件传输"></a>远程文件传输</h3><p>打开 Xftp 软件，新建一个会话。</p>
<p>连接创建的会话，输入你在 <code>CentOS</code> 中创建的用户的用户名和密码远程登录到 <code>CentOS</code> 终端。</p>
<p>登录后就可以进行文件传输了。</p>
<h2 id="Vim-编辑器"><a href="#Vim-编辑器" class="headerlink" title="Vim 编辑器"></a>Vim 编辑器</h2><p><code>vim 文件名</code>：打开一个文件，如果此文件不存在，会先创建再打开。</p>
<h3 id="Vim-的三种模式"><a href="#Vim-的三种模式" class="headerlink" title="Vim 的三种模式"></a>Vim 的三种模式</h3><ul>
<li>正常模式<ul>
<li>  使用 <code>vim xxx</code> 打开一个文件就进入了正常模式了</li>
</ul>
</li>
<li>插入模式<ul>
<li>  按下 <code>i、I、o、O、a、A、r、R</code> 等任何一个字母后才会进入插入模式，一般来说按 i 即可</li>
</ul>
</li>
<li>命令行模式<ul>
<li>  在这个模式中，可以提供相关指令，完成读取、存盘、替换、离开 vim，显示行号等动作。</li>
</ul>
</li>
</ul>
<h3 id="Vim-快捷键"><a href="#Vim-快捷键" class="headerlink" title="Vim 快捷键"></a>Vim 快捷键</h3><p><code>V</code> 进入多选模式</p>
<p><code>VG</code> 全选</p>
<p><code>yy</code> 拷贝当前行</p>
<p><code>Nyy</code> 拷贝当前行下的 N 行</p>
<p><code>dd</code> 删除当前行</p>
<p><code>Ndd</code> 删除当前行下的 N 行</p>
<p><code>p</code> 粘贴</p>
<p><code>u</code> 撤销</p>
<p><code>ctrl+r</code> 恢复</p>
<p><code>/需要查找的关键字</code> 回车查找，输入 <code>n</code> 查找下一个</p>
<p><code>:set nu</code> 显示行号</p>
<p><code>:set nonu</code> 隐藏行号</p>
<p><code>G</code> 定位到末行</p>
<p><code>gg</code> 定位到首行</p>
<p><code>数字 shift g</code> 定位到指定的行</p>
<h2 id="常用命令"><a href="#常用命令" class="headerlink" title="常用命令"></a>常用命令</h2><h3 id="关机重启"><a href="#关机重启" class="headerlink" title="关机重启"></a>关机重启</h3><p><code>shutdown -h now</code>              立即进行关机</p>
<p><code>shutdown -h 1</code>                    “hello 1 分钟后会关机了”</p>
<p><code>shutdown -r now</code>              现在重启计算机</p>
<p><code>halt</code>                                     立即关机</p>
<p><code>reboot</code>                                 现在重启计算机</p>
<p><code>sync</code>                                     把内存的数据同步到磁盘</p>
<h3 id="用户登录和注销"><a href="#用户登录和注销" class="headerlink" title="用户登录和注销"></a>用户登录和注销</h3><p><code>su - 用户名</code> 切换登录用户</p>
<p><code>logout</code> 注销、退出用户</p>
<h3 id="用户管理"><a href="#用户管理" class="headerlink" title="用户管理"></a>用户管理</h3><h4 id="添加用户"><a href="#添加用户" class="headerlink" title="添加用户"></a>添加用户</h4><p><code>useradd 用户名</code> 添加用户</p>
<ul>
<li>  当创建用户成功后，会自动的创建和用户同名的家目录，该用户的家目录在 <code>/homt/用户名</code></li>
<li>  也可以通过 <code>useradd -d 指定目录 用户名</code> ，给新创建的用户指定家目录</li>
</ul>
<h4 id="修改密码"><a href="#修改密码" class="headerlink" title="修改密码"></a>修改密码</h4><p><code>passwd 用户名</code> 给指定用户设置密码 </p>
<h4 id="删除用户"><a href="#删除用户" class="headerlink" title="删除用户"></a>删除用户</h4><p><code>userdel 用户名</code> 删除用户，但是家目录依据存在</p>
<p><code>userdel -r 用户名</code> 删除用户，同时删除该用户的家目录</p>
<h4 id="查看用户信息"><a href="#查看用户信息" class="headerlink" title="查看用户信息"></a>查看用户信息</h4><p><code>id 用户名</code> 查看用户信息，当用户不存在时，返回 <code>无此用户</code>。</p>
<h4 id="切换用户"><a href="#切换用户" class="headerlink" title="切换用户"></a>切换用户</h4><p><code>su - 切换用户名</code> 切换用户</p>
<ul>
<li>  当权限高的用户切换到权限低的用户，不需要输入密码，反之需要</li>
<li>  当需要返回到原来用户时，可以使用 <code>exit/logout</code> 指令</li>
</ul>
<h4 id="查看当前用户"><a href="#查看当前用户" class="headerlink" title="查看当前用户"></a>查看当前用户</h4><p><code>whoani</code> / <code>who an I</code> 查看第一次登录用户信息，登录后切换用户再查看仍然显示第一次登录用户的信息</p>
<h4 id="用户组"><a href="#用户组" class="headerlink" title="用户组"></a>用户组</h4><p><strong>介绍</strong></p>
<p>类似于角色，系统可以对有 <code>共性/权限</code> 的多个用户进行同一管理。( 给组一个权限，组内所有用户都拥有 )</p>
<p><code>groupadd 组名</code> 新增组</p>
<p><code>groupdel 组名</code> 删除组</p>
<p><code>useradd -g 组名 用户名</code> 添加用户的同时将用户添加到指定的用户组中</p>
<p><strong>注意：</strong>如果添加用户时没有指定用户组，系统会新建一个与用户同名的组，并将新添加的用户添加进去。</p>
<p><code>usermod -g 组名 用户名</code> 修改用户的用户组</p>
<h4 id="用户和用户组相关文件"><a href="#用户和用户组相关文件" class="headerlink" title="用户和用户组相关文件"></a>用户和用户组相关文件</h4><ul>
<li><code>/etc/passwd</code> 文件<ul>
<li>  用户 ( user ) 的配置文件，记录用户的各种信息</li>
<li>  每行的含义：<code>用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell</code></li>
</ul>
</li>
<li><code>/etc/shadow</code> 文件<ul>
<li>  口令的配置文件</li>
<li>  每行的含义：<code>登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志</code></li>
</ul>
</li>
<li><code>/etc/group</code> 文件<ul>
<li>  组 ( group ) 的配置文件</li>
<li>  每行的含义：<code>组名:口令:组标识号:组内用户列表</code></li>
</ul>
</li>
</ul>
<h3 id="运行级别"><a href="#运行级别" class="headerlink" title="运行级别"></a>运行级别</h3><p>运行级别说明：</p>
<ul>
<li>  0：关机</li>
<li>  1：单用户 ( 找回丢失密码 )</li>
<li>  2：多用户状态没有网络服务</li>
<li>  3：多用户状态有网络服务</li>
<li>  4：系统未使用保留给用户</li>
<li>  5：图像界面</li>
<li>  6：系统重启</li>
</ul>
<p>常用运行级别时 3 和 5，也可以指定默认运行级别。</p>
<p><code>init 运行级别</code> 切换到不同的运行级别</p>
<ul>
<li>CentOS 7 后运行级别说明<ul>
<li>在 CentOS 7 以前，<code>/etcinittab</code> 文件中进行了简化，如下<ul>
<li>  <code>multi-user.target</code>：<code>analogous to runlevel3</code></li>
<li>  <code>graphical.target</code>：<code>analogous to runlevel3</code></li>
</ul>
</li>
<li>  <code>systemctl get-default</code> 查看系统的当前运行级别</li>
<li>  <code>systemctl set-default 运行级别</code> 设置系统的默认运行级别 </li>
</ul>
</li>
</ul>
<h3 id="找回-root-密码"><a href="#找回-root-密码" class="headerlink" title="找回 root 密码"></a>找回 root 密码</h3><p>本次案例使用的是CentOS 7.6版本操作系统</p>
<p>进入单用户模式</p>
<ol>
<li><p> 首先重启你的服务器，在出现内核版本时，按键盘上的tab键会静止在如下界面。</p>
</li>
<li><p> 选中第一个内核，按“e”进入“grub”界面，找到Linux16开头的行，按“end”键到字段末尾，在末尾添加“rd.break”。添加完后，按“Ctrl + x”保存进入单用户模式</p>
</li>
<li><p> 等待进入单用户模式</p>
</li>
<li><p> 由于更改密码需要用到/sysroot这个分区中的数据，而这个分区默认情况下是只读的，所以需要对它进行重新挂载，并赋予rw权限</p>
</li>
</ol>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mount -o remount,rw /sysroot/</span><br></pre></td></tr></table></figure>

<ol start="5">
<li> 进入系统环境里面</li>
</ol>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">chroot /sysroot</span><br></pre></td></tr></table></figure>

<ol start="6">
<li> 修改密码 **( 最好8位以上，但不是必须的 )**，保存，exit退出系统环境</li>
</ol>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">passwd</span><br><span class="line">touch /.autorelabel</span><br><span class="line">exit</span><br></pre></td></tr></table></figure>

<ol start="7">
<li> 重启系统</li>
</ol>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">reboot</span><br></pre></td></tr></table></figure>

<ol start="8">
<li><p> 等待加载 <strong>( 时间可能有点长，耐心等待 )</strong> 进入到登录界面</p>
</li>
<li><p> 用新的密码登录root用户</p>
</li>
<li><p>修改密码成功，进入桌面</p>
</li>
</ol>
<h3 id="帮助指令"><a href="#帮助指令" class="headerlink" title="帮助指令"></a>帮助指令</h3><p><code>man</code> 获得帮助信息</p>
<p>基本语法：<code>man 命令或配置文件</code> ( 功能描述：获得帮助信息 )</p>
<p>案例：查看 <code>ls</code> 命令的帮助信息</p>
<p><code>help</code> 指令</p>
<p>基本语法：<code>help 命令</code> ( 功能描述：获得 shell 内置命令的帮助信息 )</p>
<h3 id="文件目录类"><a href="#文件目录类" class="headerlink" title="文件目录类"></a>文件目录类</h3><h4 id="查看当前工作目录的绝对路径"><a href="#查看当前工作目录的绝对路径" class="headerlink" title="查看当前工作目录的绝对路径"></a>查看当前工作目录的绝对路径</h4><p><code>pwd</code> 指令</p>
<p>基本语法：<code>pwd</code> ( 功能描述：显示当前工作目录的绝对路径 )</p>
<h4 id="查看目录下的文件和文件夹"><a href="#查看目录下的文件和文件夹" class="headerlink" title="查看目录下的文件和文件夹"></a>查看目录下的文件和文件夹</h4><p><code>ls</code> 指令</p>
<p>基本语法：<code>ls 选项 目录或文件</code></p>
<p>常用选项：</p>
<pre><code>`-a`：显示当前目录所有的文件和目录，包括隐藏的

`-l`：以列表的方式显示信息
</code></pre>
<h4 id="切换目录"><a href="#切换目录" class="headerlink" title="切换目录"></a>切换目录</h4><p><code>cd</code> 指令</p>
<p>基本语法：<code>cd 参数</code> ( 功能描述：切换到指定的目录 )</p>
<p>理解：绝对路径和相对路径</p>
<p><code>cd ~</code> 或者 <code>cd</code>：回到当前登录用户的家目录；比如：<code>root</code> 用户使用 <code>cd ~</code> 会到 <code>/root</code> 目录，<code>hong</code> 用户会到 <code>/home/hong</code> 目录</p>
<p><code>cd ..</code>：回到当前目录的上一级</p>
<h4 id="创建目录"><a href="#创建目录" class="headerlink" title="创建目录"></a>创建目录</h4><p><code>mkdir</code> 指令</p>
<p><code>mkdir</code> 指令用于创建目录</p>
<p>基本语法：<code>mkdir 选项 要创建的目录</code></p>
<p>常用选项：</p>
<pre><code>`-p` 创建多级目录
</code></pre>
<h4 id="删除空目录"><a href="#删除空目录" class="headerlink" title="删除空目录"></a>删除空目录</h4><p><code>rmdir</code> 指令</p>
<p><code>rmdir</code> 指令删除空目录</p>
<p>基本语法：<code>rmdir 选项 要删除的空目录</code></p>
<p>使用细节：</p>
<pre><code>如果 `rmdir` 删除的目录下有内容是无法删除的

如果需要删除非空目录，需要使用 `rm -rf 要删除的目录` 指令进行删除  
</code></pre>
<h4 id="创建空文件"><a href="#创建空文件" class="headerlink" title="创建空文件"></a>创建空文件</h4><p><code>touch</code> 指令</p>
<p><code>touch</code> 指令创建空文件</p>
<p>基本语法：<code>touch 文件名称</code></p>
<h4 id="拷贝文件或文件夹"><a href="#拷贝文件或文件夹" class="headerlink" title="拷贝文件或文件夹"></a>拷贝文件或文件夹</h4><p><code>cp</code> 指令</p>
<p><code>cp</code> 指令拷贝文件到指定目录</p>
<p>基本语法：<code>cp 选项 拷贝资源 拷贝路径</code></p>
<p>常用选项：</p>
<pre><code>`-r` 递归复制整个文件夹
</code></pre>
<p>使用细节：</p>
<pre><code>强制覆盖不提示的方法：`\cp`
</code></pre>
<p>拷贝文件夹下的所有内容到指定该目录</p>
<pre><code>`cp -r /资源路径/* /拷贝路径`
</code></pre>
<h4 id="删除文件或文件夹"><a href="#删除文件或文件夹" class="headerlink" title="删除文件或文件夹"></a>删除文件或文件夹</h4><p><code>rm</code> 指令</p>
<p>说明：<code>rm</code> 指令移除文件或目录</p>
<p>基本语法：<code>rm 选项 要删除的文件或目录</code></p>
<p>常用选项：</p>
<pre><code>`-r`：递归删除整个文件夹

`-f`：强制删除不提示
</code></pre>
<h4 id="移动文件与目录或重命名"><a href="#移动文件与目录或重命名" class="headerlink" title="移动文件与目录或重命名"></a>移动文件与目录或重命名</h4><p><code>mv</code> 指令</p>
<p>基本语法：</p>
<pre><code>`mv oldFileName newFileName` ( 重命名 )

`mv oldPath newPath` ( 移动文件 )
</code></pre>
<h4 id="查看文件内容"><a href="#查看文件内容" class="headerlink" title="查看文件内容"></a>查看文件内容</h4><h5 id="cat-指令"><a href="#cat-指令" class="headerlink" title="cat 指令"></a><code>cat</code> 指令</h5><p>基本语法：<code>cat 选项 要查看的文件</code></p>
<p>常用选项：</p>
<pre><code>`-n`：显示行号
</code></pre>
<p>使用细节：<code>cat</code> 只能浏览文件，不能修改文件</p>
<h5 id="more-指令"><a href="#more-指令" class="headerlink" title="more 指令"></a><code>more</code> 指令</h5><p><code>more</code> 指令是一个基于 VI 编辑器的文本过滤器，它以全屏幕的方式按页希纳是文本文件的内容。<code>more</code> 指令中内置了若干快捷键</p>
<p>基本语法：<code>more 要查看的文件</code></p>
<h5 id="less-指令"><a href="#less-指令" class="headerlink" title="less 指令"></a><code>less</code> 指令</h5><p><code>less</code> 指令用来分屏查看文件内容，它的功能与 <code>more</code> 指令类似，但是比 <code>more</code> 指令更加强大，支持各种显示终端。<code>less</code> 指令在显示文件内容时，<strong>并不是一次将整个文件加载之后才显示，而是根据显示加载需要的内容，对于显示大型文件具有较高的效率。</strong></p>
<p>基本语法：<code>less 要查看的文件</code></p>
<h4 id="输出内容到控制台"><a href="#输出内容到控制台" class="headerlink" title="输出内容到控制台"></a>输出内容到控制台</h4><p><code>echo</code> 指令</p>
<p>基本语法：<code>echo 选项 输出内容</code></p>
<h4 id="显示文件的开头部分内容"><a href="#显示文件的开头部分内容" class="headerlink" title="显示文件的开头部分内容"></a>显示文件的开头部分内容</h4><p><code>head</code> 指令</p>
<p><code>head</code> 用于显示文件的开头部分内容，默认情况下的 <code>head</code> 指令显示文件的前10行内容</p>
<p>基本语法：</p>
<pre><code>`head 文件` ( 查看文件头10行内容 )
</code></pre>
<p><code>    head -n 5 文件</code> ( 查看文件头5行内容，5可以是任意行数 )</p>
<h4 id="显示文件的尾部部分内容"><a href="#显示文件的尾部部分内容" class="headerlink" title="显示文件的尾部部分内容"></a>显示文件的尾部部分内容</h4><p><code>tail</code> 指令</p>
<p><code>tail</code> 用于输出文件中尾部的内容，默认情况下 <code>tail</code> 指令显示文件的后10行内容</p>
<p>基本语法：</p>
<pre><code>`tail 文件`                ( 查看文件尾10行内容 )

`tail -n 5 文件`     ( 查看文件尾5行内容，5可以是任意行数 )

`tail -f 文件`         ( 实时追踪该文档的所有更新，`ctrl + c 退出` )
</code></pre>
<h4 id="gt-指令-和-gt-gt-指令"><a href="#gt-指令-和-gt-gt-指令" class="headerlink" title="&gt; 指令 和 &gt;&gt; 指令"></a><code>&gt; 指令</code> 和 <code>&gt;&gt; 指令</code></h4><p><code>&gt;</code>：输出重定向</p>
<p><code>&gt;&gt;</code>：追加</p>
<p>基本语法：</p>
<pre><code>`ls -l &gt; 文件` ( 列表的内容写入到指定文件中 ( 覆盖写 ) )

`ls -al &gt;&gt; 文件` ( 列表的内容追加到指定文件的末尾 )

`cat 文件1 &gt; 文件2` ( 文件1的内容覆盖到文件2，如果文件2不存在会自动创建 )

`echo 内容 &gt;&gt; 文件1` ( 文件1追加指定的内容 )
</code></pre>
<h4 id="ln-指令"><a href="#ln-指令" class="headerlink" title="ln 指令"></a><code>ln 指令</code></h4><p>软连接也称为符号连接，类似于 <code>windows</code> 里的快捷方式，主要存放了链接其他文件的路径</p>
<p>基本语法：<code>ln -s [原文件或目录] [软链接名]</code> ( 给原文件创建一个软链接 )</p>
<h4 id="查看执行过的历史指令"><a href="#查看执行过的历史指令" class="headerlink" title="查看执行过的历史指令"></a>查看执行过的历史指令</h4><p><code>history</code> 指令</p>
<p>查看已经执行过的历史指令，也可以执行历史指令</p>
<p>基本语法：</p>
<pre><code>`history` ( 查看所有执行过的历史指令 )

`history 10` ( 查看最近执行的10条历史指令 ) 

`!5` （ 执行编号为5的历史指令 ）
</code></pre>
<h3 id="时间日期"><a href="#时间日期" class="headerlink" title="时间日期"></a>时间日期</h3><h4 id="显示当前时间"><a href="#显示当前时间" class="headerlink" title="显示当前时间"></a>显示当前时间</h4><p><code>date</code> 指令</p>
<p>基本语法：</p>
<pre><code>`date` ( 显示当前时间 )

`date + %Y` ( 显示当前年份 )

`date + %m` ( 显示当前月份 )

`date + %d` ( 显示当前是哪一天 )

`date +%Y-%m-%d %H:%M:%S` ( 显示年月日时分秒 )
</code></pre>
<h4 id="设置日期"><a href="#设置日期" class="headerlink" title="设置日期"></a>设置日期</h4><p><code>date</code> 指令</p>
<p>基本语法：<code>date -s 字符串日期</code></p>
<h4 id="查看日历"><a href="#查看日历" class="headerlink" title="查看日历"></a>查看日历</h4><p><code>cal</code> 指令</p>
<p>查看日历指令 <code>cal</code></p>
<p>基本语法：<code>cal 选项</code> ( 不加选项，显示本月日历 )</p>
<h3 id="搜索查找"><a href="#搜索查找" class="headerlink" title="搜索查找"></a>搜索查找</h3><h4 id="查找文件或目录"><a href="#查找文件或目录" class="headerlink" title="查找文件或目录"></a>查找文件或目录</h4><p><code>find</code> 指令</p>
<p><code>find</code> 指令将从指定目录向下递归地遍历其各个子目录，将满足条件的目录或文件显示在终端</p>
<p>基本语法：<code>find 搜索范围 选项</code></p>
<p>选项说明：</p>
<h4 id="快速定位文件路径"><a href="#快速定位文件路径" class="headerlink" title="快速定位文件路径"></a>快速定位文件路径</h4><p><code>locate</code> 指令</p>
<p><code>locate</code> 指令可以快速定位文件路径。<code>locate</code> 指令利用事先建立的系统中所有文件名称及路径的 <code>locate</code> 数据库实现快速定位给定的文件。<code>locate</code> 指令无需遍历整个文件系统，查询速度较快，为了保证查询结果的准确度，管理员必须定期更新 <code>locate</code> 时刻</p>
<p>基本语法：<code>locate 搜索文件</code></p>
<p>特别说明：由于 <code>locate</code> 指令基于数据库进行查询，所有第一次运行前，必须使用 <code>updatendb</code> 指令创建 <code>locate</code> 数据库。</p>
<h4 id="过滤查找"><a href="#过滤查找" class="headerlink" title="过滤查找"></a>过滤查找</h4><p><code>grep</code> 指令和管道符号</p>
<p><code>grep</code> 过滤查找。管道符 <code>|</code> ，表示将前一个命令的处理结果输出传递给后面的命令处理</p>
<p>基本语法：<code>grep 选项 查找内容 源文件</code></p>
<p>常用选项：</p>
<pre><code>`-n`：显示匹配行及行号

`-i`：忽略字母大小写
</code></pre>
<h3 id="压缩和解压"><a href="#压缩和解压" class="headerlink" title="压缩和解压"></a>压缩和解压</h3><h4 id="gzip-gunzip-指令"><a href="#gzip-gunzip-指令" class="headerlink" title="gzip/gunzip 指令"></a><code>gzip/gunzip</code> 指令</h4><p><code>gzip</code> 用于压缩<strong>文件</strong>，<code>gunzip</code> 用于解压</p>
<p>基本语法：</p>
<pre><code>`gzip 文件` ( 压缩文件，只能将文件压缩为 `*.gz` 文件 )

`gunzip 文件.gz` ( 解压文件命令 ) 
</code></pre>
<h4 id="zip-unzip-指令"><a href="#zip-unzip-指令" class="headerlink" title="zip/unzip 指令"></a><code>zip/unzip</code> 指令</h4><p><code>zip</code> 用于压缩<strong>文件</strong>，<code>unzip</code> 用于解压。这个在项目打包发布中很有用</p>
<p>基本语法：</p>
<pre><code>`zip 选项 xxx.zip 要压缩的内容` ( 压缩文件和目录的命令 )

`unzip 选项 XXX.zip` ( 解压文件 )
</code></pre>
<p><code>zip</code> 常用选项</p>
<pre><code>`-r`：递归压缩，即压缩目录
</code></pre>
<p><code>unzip</code> 常用选项</p>
<pre><code>`-d 目录`：指定解压后文件的存放目录
</code></pre>
<h4 id="tar-指令"><a href="#tar-指令" class="headerlink" title="tar 指令"></a><code>tar</code> 指令</h4><p><code>tar</code> 指令</p>
<p><code>tar</code> 指令是打包指令，最后打包的文件是 <code>.tar.gz</code> 的文件</p>
<p>基本语法：<code>tar 选项 XXX.tar.gz 打包内容</code> ( 打包目录，压缩后的文件格式 <code>.tar.gz</code> )</p>
<p>常用选项：</p>
<pre><code>`-c`：产生 `.tar` 打包文件

`-v`：显示详细信息

`-f`：指定压缩后的文件名

`-z`：用 `gzip` 压缩或解压

`-x`：解压 `.tar` 文件
</code></pre>
<h3 id="组管理"><a href="#组管理" class="headerlink" title="组管理"></a>组管理</h3><h4 id="文件-目录-所有者"><a href="#文件-目录-所有者" class="headerlink" title="文件/目录 所有者"></a>文件/目录 所有者</h4><p>一般谁创建的文件，谁就是该文件的所有者</p>
<p><strong>查看文件的所有者</strong></p>
<p>基本指令：<code>ls -ahl</code> ( <code>a:显示所有文件和目录, 包括隐藏的</code>、<code>h:文件或目录的大小按人类习惯的方式显示</code>、<code>l:显示详细信息</code> )</p>
<p><code>ls 文件名 -lh</code> 查看指定文件名的权限</p>
<p><strong>修改文件所有者</strong><br>基本指令：<code>chown 用户名 文件名</code></p>
<h4 id="组的创建"><a href="#组的创建" class="headerlink" title="组的创建"></a>组的创建</h4><p>基本指令：<code>groupadd 组名</code></p>
<h4 id="文件-目录-所在组"><a href="#文件-目录-所在组" class="headerlink" title="文件/目录 所在组"></a>文件/目录 所在组</h4><p><strong>查看文件/目录所在组</strong></p>
<p>基本指令：<code>ls -ahl</code></p>
<p><code>ls 目录 -lh</code> 查看指定目录的权限</p>
<p><strong>修改文件所在组</strong></p>
<p>基本指令：<code>chgrp 组名 文件名</code></p>
<h4 id="其他组"><a href="#其他组" class="headerlink" title="其他组"></a>其他组</h4><p>除文件的所有者和所在组的用户外，系统的其他用户都是文件的其他组</p>
<h4 id="改变用户所在组"><a href="#改变用户所在组" class="headerlink" title="改变用户所在组"></a>改变用户所在组</h4><p>在添加用户时，可以指定将该用户添加到哪个组中，同样的用 <code>root</code> 的管理权限可以改变某个用户所有在的组</p>
<p><strong>改变用户所在组</strong></p>
<p>基本指令：<code>usermod -g 新组名 用户名</code></p>
<p><strong>改变用户登录的初始目录</strong></p>
<p>基本指令：<code>usermod -d 目录名 用户名</code> </p>
<p>特别说明：用户需要有进入到新目录的权限才能修改初始目录</p>
<h3 id="权限管理"><a href="#权限管理" class="headerlink" title="权限管理"></a>权限管理</h3><h4 id="权限的基本介绍"><a href="#权限的基本介绍" class="headerlink" title="权限的基本介绍"></a>权限的基本介绍</h4><p><code>ls -l</code> 指令显示的内容如下：</p>
<figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">-rw-rw-r--.</span>  <span class="number">1</span> <span class="string">hong</span> <span class="string">hong</span>  <span class="number">484</span> <span class="number">5</span><span class="string">月</span>  <span class="number">17</span> <span class="number">11</span><span class="string">:26</span> <span class="string">hello.java</span></span><br><span class="line"></span><br><span class="line"><span class="string">-rw-rw-r--.:</span> <span class="string">权限</span></span><br><span class="line"><span class="attr">1:</span> <span class="string">文件:硬链接数</span>  <span class="string">目录:子目录数+文件数</span></span><br><span class="line"><span class="attr">hong:</span> <span class="string">用户</span></span><br><span class="line"><span class="attr">hong:</span> <span class="string">组</span></span><br><span class="line"><span class="attr">484:</span> <span class="string">文件大小(字节),</span> <span class="string">如果是文件夹显示484字节</span></span><br><span class="line"><span class="number">5</span><span class="string">月</span>  <span class="attr">17 11:26:</span> <span class="string">最后修改时间</span></span><br><span class="line"><span class="attr">hello.java:</span> <span class="string">文件名</span></span><br></pre></td></tr></table></figure>

<p>0-9位说明：</p>
<ul>
<li>第0位确定文件类型  ( d, -, l, c, b )<ul>
<li>  <code>l</code>是链接，相当于 windows 的快捷方式</li>
<li>  <code>d</code>是目录，相当于 windows 的文件夹</li>
<li>  <code>-</code>是普通文件</li>
<li>  <code>c</code>是字符设备文件，鼠标、键盘</li>
<li>  <code>b</code>是块设备，比如硬盘</li>
</ul>
</li>
<li>  第1-3位确定所有者 ( 该文件的所有者 ) 拥有该文件的权限</li>
<li>  第4-6位确定所属组 ( 用户组 ) 拥有该文件的权限</li>
<li>  第7-9位确定其他用户拥有该文件的权限</li>
</ul>
<h4 id="rwx权限详解"><a href="#rwx权限详解" class="headerlink" title="rwx权限详解"></a>rwx权限详解</h4><p><strong>rwx作用到文件</strong></p>
<ul>
<li>  <code>r</code>代表可读 ( read )：可以读取，查看</li>
<li>  <code>w</code>代表可写 ( write )：可以修改，但是不代表可以删除文件，删除一个文件的前提是对该文件所在的目录有写权限才能删除该文件</li>
<li>  <code>x</code>代表可执行 ( execute )：可以被执行</li>
</ul>
<p><strong>rwx作用到目录</strong></p>
<ul>
<li>  <code>r</code>代表可读 ( read )：可以读取，<code>ls</code>查看目录内容</li>
<li>  <code>w</code>代表可写 ( write )：可以修改，对目录内创建+删除+重命名目录</li>
<li>  <code>x</code>代表可执行 ( execute )：可以进入该目录</li>
</ul>
<p><strong>数字表示rwx</strong></p>
<pre><code>`r=4`、`w=2`、`x=1`。因此 `rwx=4+2+1=7`
</code></pre>
<h4 id="修改权限"><a href="#修改权限" class="headerlink" title="修改权限"></a>修改权限</h4><p><code>chmod</code> 指令</p>
<p>基本说明：通过 <code>chmod</code> 指令，可以修改文件或者目录的权限</p>
<p><strong>第一种方式</strong></p>
<p><code>+、-、=</code> 变更权限</p>
<p><code>u</code>：所有者    <code>g</code>：所在组    <code>o</code>：其他人    <code>a</code>：所有人( u、g、o的总和 )</p>
<p>基本指令：</p>
<pre><code>`chmod u=rwx,g=rw,o=r 文件名/目录名` ( 给所有者赋予 `rwx` 权限、所在组赋予 `rw`、其他人赋予 `r` 到指定文件或目录 )

`chmod o+w 文件名/目录名` ( 给其他人赋予 `w` 权限到指定文件或目录 )

`chmod a-x 文件名/目录名` ( 撤销所有人对指定文件或目录的 `x` 权限 )
</code></pre>
<p><strong>第二种方式</strong></p>
<p>通过数字变更权限</p>
<p><code>r=4</code>、<code>w=2</code>、<code>x=1</code>     ``rwx=4+2+1=7`    </p>
<p><code>1: x</code> <code>2: w</code> <code>3:wx</code> <code>4:r</code> <code>5:rx</code> <code>6:rw</code> <code>7:rwx</code></p>
<p><code>chmod u=rwx,g=rx,o=x 文件名/目录名</code> 相当于 <code>chmod 751 文件名/目录名</code></p>
<h4 id="修改文件-目录所有者"><a href="#修改文件-目录所有者" class="headerlink" title="修改文件/目录所有者"></a>修改文件/目录所有者</h4><p>基本语法：</p>
<pre><code>`chown 所有者 文件/目录` ( 改变所有者 )

`chown 所有者:所在组 文件/目录` ( 改变所有者和所在组 )
</code></pre>
<p>选项</p>
<pre><code>`-R`：如果是目录，则使其下所有子文件和目录递归生效
</code></pre>
<h4 id="修改文件-目录所在组"><a href="#修改文件-目录所在组" class="headerlink" title="修改文件/目录所在组"></a>修改文件/目录所在组</h4><p>基本语法：<code>chgrp new所在组 文件/目录</code> ( 改变所在组 )</p>
<h3 id="crond-任务调度"><a href="#crond-任务调度" class="headerlink" title="crond 任务调度"></a>crond 任务调度</h3><p>crontab 进行定时任务的设置</p>
<p><strong>概述</strong></p>
<p>任务调度：是指系统在某个时间执行的特定的命令或程序</p>
<p>任务调度分类：</p>
<pre><code>系统工作：有些重要的工作必须周而复始地执行。如病毒扫描

个别用户工作：个别用户可能希望执行某些程序。比如对数据库的备份
</code></pre>
<p><strong>基本语法</strong></p>
<p> <code>crontab 选项</code></p>
<p><strong>常用选项</strong></p>
<pre><code>`-e`：编辑 crontab 任务

`-l`：查询 crontab 任务

`-r`：删除当前用户所有的 crontab 任务
</code></pre>
<h4 id="快速入门"><a href="#快速入门" class="headerlink" title="快速入门"></a>快速入门</h4><p>设置任务调度文件：<code>/etc/crontab</code></p>
<p>设置个人任务调度：执行 <code>crontab -e</code> 命令</p>
<p>再执行 <code>*/1 * * * * ls -l /etc/ &gt; /tmp/to.txt</code></p>
<p>每小时的每分钟执行 <code>ls -l /etc/ &gt; /tmp/to.txt</code> 命令</p>
<h4 id="crond-相关指令"><a href="#crond-相关指令" class="headerlink" title="crond 相关指令"></a>crond 相关指令</h4><p><code>crontab -r</code>：终止任务调度</p>
<p><code>crontab -l </code>：列出当前有那些任务调度</p>
<p><code>service crond restart</code>：重启任务调度</p>
<h4 id="at-定时任务"><a href="#at-定时任务" class="headerlink" title="at 定时任务"></a>at 定时任务</h4><p><strong>基本介绍</strong></p>
<ul>
<li>  at 命令是一次性定时计划任务，at 的守护进程 atd 会以后台模式运行，检查作业队列来运行</li>
<li>  默认情况下，atd 守护进程每60秒检查作业队列，有作业时，会检查作业运行时间，如果时间与当前时间匹配，则运行此作业</li>
<li>  at 命令时一次性定时计划任务，执行完一个任务后不再执行此任务</li>
<li>  在使用 at 命令的时候，一定要保证 atd 进程的启动，可以使用相关指令来查看 <code>ps -ef | grep atd</code></li>
</ul>
<p><strong>at 命令格式</strong></p>
<pre><code>`at 选项 时间`

两次`Ctrl + D` 结束 at 命令的输入
</code></pre>
<p><strong>at 时间定义</strong></p>
<p>at 指定时间的方法：</p>
<ul>
<li>  接受在当天的 <code>hh:mm(小时:分钟)</code> 式的时间指定。加入该时间已过去，那么就放在第二天执行。例如：21:00</li>
<li>  使用 <code>midnight(深夜)</code>，<code>noon(中午)</code>，<code>teatime(饮茶时间, 一般是下午4点)</code> 等比较模糊的单词来指定时间。</li>
<li>  采用 12 小时计时制，即在时间后面加上 <code>AM(上午)</code> 或 <code>PM(下午)</code> 来说明是上午还是下午。例如：12PM</li>
<li>  指定命令执行的具体日期，指定格式位 <code>month day(月 日)</code> 或 <code>mm/dd/yy(月/日/年)</code> 或 <code>dd.mm.yy(日.月.年)</code>，指定的日期必须跟在指定时间后面。例如：<code>21:00 2021/5/18</code></li>
<li>  使用相对计时法。指定格式为：<code>now + count time-units</code>，<code>now</code> 就是当前时间，<code>time-units</code> 是时间单位，这里能够是 <code>minutes(分钟)</code>、<code>hours(小时)</code>、<code>days(天)</code>、<code>weeks(星期)</code>。<code>count</code> 是时间的数量，几天，几小时。例如：<code>now + 5 minutes</code></li>
<li>  直接使用 <code>today(今天)</code>、<code>tomorrow(明天)</code>来指定完成命令的时间</li>
</ul>
<p><strong>查看 at 列表</strong></p>
<pre><code>`atq`
</code></pre>
<p><strong>删除 at 定时任务</strong></p>
<pre><code>`atrm 编号`
</code></pre>
<h2 id="磁盘分区"><a href="#磁盘分区" class="headerlink" title="磁盘分区"></a>磁盘分区</h2><h3 id="磁盘分区机制"><a href="#磁盘分区机制" class="headerlink" title="磁盘分区机制"></a>磁盘分区机制</h3><p><strong>原理介绍</strong></p>
<ul>
<li>  Linux 来说无论有几个分区，分给哪一目录使用，它归根结底只有一个根目录，一个独立且唯一的文件结构，Linux 中每个分区都是用来组成整个文件系统的一部分</li>
<li>  Linux 采用一种叫 <code>载入</code> 的处理方法，它的整个文件系统中包含了一整套的文件和目录，且将一个分区和一个目录联系起来。这时要载入一个分区将使它的存储空间再一个目录下获得。</li>
</ul>
<p><strong>示意图</strong></p>
<h4 id="查看所有设备挂载情况"><a href="#查看所有设备挂载情况" class="headerlink" title="查看所有设备挂载情况"></a>查看所有设备挂载情况</h4><p>命令：<code>lsbk</code> 或 <code>lsblk -f</code></p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">NAME:分区名	FSTYPE: 分区格式	UUID:分区唯一标识, 格式化后才有	  MOUNTPOINT:挂载点</span><br></pre></td></tr></table></figure>

<h4 id="硬盘说明"><a href="#硬盘说明" class="headerlink" title="硬盘说明"></a>硬盘说明</h4><ul>
<li>  Linux 硬盘分为 <code>IDE</code> 硬盘和 <code>SCSI</code> 硬盘，目前基本上是 <code>SCSI</code> 硬盘。</li>
<li>  对于 <code>IDE</code> 硬盘，驱动器标识符为 <code>hdx~</code>，其中 <code>hd</code> 表明分区所在设备的类型，这里是指 <code>IDE</code> 硬盘。<code>x</code> 为盘号 ( <code>a</code> 为基本盘、<code>b</code> 为基本从属盘、<code>c</code> 为辅助主盘、<code>d</code> 为辅助从属盘 )，<code>~</code> 代表分区，前四个分区用数字1到4表示，它们是主分区或拓展分区，从5开始就是逻辑分区。例：<code>hda3</code> 表示为第一个 <code>IDE</code> 硬盘上的第三个主分区或拓展分区，<code>hdb2</code> 表示第二个 <code>IDE</code> 硬盘上的第二个主分区或拓展分区。</li>
<li>  对于 <code>SCSI</code> 硬盘则标识为 <code>sdx~</code>，<code>SCSI</code> 硬盘是用 <code>sd</code> 来标识分区所在设备的类型的，其余和 <code>IDE</code> 硬盘的表示方法一致。</li>
</ul>
<h4 id="增加一块硬盘"><a href="#增加一块硬盘" class="headerlink" title="增加一块硬盘"></a>增加一块硬盘</h4><h5 id="虚拟机添加硬盘"><a href="#虚拟机添加硬盘" class="headerlink" title="虚拟机添加硬盘"></a>虚拟机添加硬盘</h5><p>再选择硬盘大小后一直下一步就行。然后<strong>重启系统</strong> ( 才能识别 )。</p>
<h5 id="分区"><a href="#分区" class="headerlink" title="分区"></a>分区</h5><p>分区命令：<code>fdisk /dev/sdb(硬盘名)</code></p>
<p><code>m</code>：显示命令列表</p>
<p><code>p</code>：显示磁盘分区 同 <code>fdisk -l</code></p>
<p><code>n</code>：新增分区</p>
<p><code>d</code>：删除分区</p>
<p><code>w</code>：写入并退出</p>
<p><code>q</code>：不保存退出</p>
<h5 id="格式化"><a href="#格式化" class="headerlink" title="格式化"></a>格式化</h5><p>如果分区不格式化，Linux 不会为其分配 UUID。</p>
<p>命令：<code>mkfs -t ext4 /dev/sdb1(分区名)</code></p>
<h5 id="挂载"><a href="#挂载" class="headerlink" title="挂载"></a>挂载</h5><p>命令：<code>mount /dev/sdb1(分区名) /newdisk(挂载点)</code></p>
<p><strong><span style="color:red;">注意：使用命令行挂载，重启后会失效。</span></strong></p>
<p><strong>卸载</strong></p>
<pre><code>`umount 设备名称 或 挂载目录`

例如：`umount /dev/sdb1` 或者 `umount /newdisk`
</code></pre>
<h5 id="设置自动挂载"><a href="#设置自动挂载" class="headerlink" title="设置自动挂载"></a>设置自动挂载</h5><p>通过修改 <code>/etc/fstab</code> 实现自动挂载</p>
<p>添加完成后执行 <code>mount -a</code> 即刻生效或者重启</p>
<h4 id="磁盘情况查询"><a href="#磁盘情况查询" class="headerlink" title="磁盘情况查询"></a>磁盘情况查询</h4><p><strong>查询系统整体磁盘使用情况</strong></p>
<p>基本语法：<code>df -h</code></p>
<p><strong>查询指定目录的磁盘占用情况</strong></p>
<p>基本语法：<code>du -h /目录</code> ( 查询指定目录的磁盘占用情况，默认为当前目录 )</p>
<p>选项：</p>
<pre><code>`-s`：指定目录占用大小汇总

`-h`：带计量单位

`-a`：含未见

`--max-depth=1`：子目录深度

`-c`：列出明细的同时，增加汇总值
</code></pre>
<h4 id="磁盘情况实用指令"><a href="#磁盘情况实用指令" class="headerlink" title="磁盘情况实用指令"></a>磁盘情况实用指令</h4><ul>
<li><p>统计文件夹下文件的个数</p>
<p><code>ls -l | grep &quot;^-&quot; | wc -l</code></p>
</li>
<li><p>统计文件夹下目录的个数</p>
<p><code>ls -l | grep &quot;^d&quot; | wc -l</code></p>
</li>
<li><p>统计文件夹下文件的个数，包括子文件夹里的</p>
<p><code>ls -lR | grep &quot;^-&quot; | wc -l</code></p>
</li>
<li><p>统计文件夹下目录的个数，包括子文件夹里的</p>
<p><code>ls -lR | grep &quot;^d&quot; | wc -l</code></p>
</li>
<li><p>以树状显示目录结构</p>
<p><code>tree 目录</code> ( 不写目录，默认为当前目录 )</p>
<p>Linux 默认是没有安装 <code>tree</code> 指令的，需要执行 <code>yum install tree</code> 进行安装，安装过程中全部输入 <code>y</code> 继续安装。</p>
</li>
</ul>
<h2 id="Linux-网络环境配置"><a href="#Linux-网络环境配置" class="headerlink" title="Linux 网络环境配置"></a>Linux 网络环境配置</h2><h3 id="指定-IP"><a href="#指定-IP" class="headerlink" title="指定 IP"></a>指定 IP</h3><h4 id="第一步"><a href="#第一步" class="headerlink" title="第一步"></a>第一步</h4><p>说明：直接修改配置文件来指定 IP，并可以连接到外网 ( 程序员推荐 )</p>
<p>编辑 <code>vim /etc/sysconfig/network-scripts/ifcfg-ens33</code></p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">BOOTPROTO=static</span><br><span class="line"><span class="meta">#</span><span class="bash"> IP地址</span></span><br><span class="line">IPADDR=192.168.200.130</span><br><span class="line"><span class="meta">#</span><span class="bash"> 网关</span></span><br><span class="line">GATEWAY=192.168.200.2</span><br><span class="line"><span class="meta">#</span><span class="bash"> 域名解析器</span></span><br><span class="line">DNS1=192.168.200.2&lt;img src=&quot;images\image-20210519154311244.png&quot; alt=&quot;image-20210519154311244&quot; style=&quot;zoom:80%;&quot; align=&quot;left&quot;/&gt;</span><br></pre></td></tr></table></figure>

<h4 id="第二步"><a href="#第二步" class="headerlink" title="第二步"></a>第二步</h4><p>网关最后一个数字为 2</p>
<p>最后应用修改就行。</p>
<h4 id="第三步"><a href="#第三步" class="headerlink" title="第三步"></a>第三步</h4><p>重启网络服务或者重启系统生效</p>
<p><code>service network restart</code>、<code>reboot</code></p>
<h3 id="设置主机名"><a href="#设置主机名" class="headerlink" title="设置主机名"></a>设置主机名</h3><ul>
<li>  为了方便记忆，可以给 Linux 系统设置主机名，也可以根据需要修改主机名</li>
<li>  查看主机名：<code>hostname</code></li>
<li>修改文件 <code>/etc/hostname</code> 中指定<ul>
<li>  这个文件中只存放了主机名，所以我们可以随意修改，不要怕改炸了</li>
</ul>
</li>
<li>  修改后，重启生效</li>
</ul>
<h3 id="设置-hosts-映射"><a href="#设置-hosts-映射" class="headerlink" title="设置 hosts 映射"></a>设置 hosts 映射</h3><p>设置 hosts 映射可以使我们通过主机名访问到 Linux 系统</p>
<p>Windows：</p>
<pre><code>在 `C:\Windows\System32\drivers\etc\hosts` 文件中指定

添加：`192.168.200.130 hong` 可以让我们在 Windows 中 `ping hong` 时访问到 `192.168.200.130`
</code></pre>
<p>Linux：</p>
<pre><code>在 `/etc/hosts`

添加：`192.168.200.1 hong` 可以让我们在 Linux 中 `ping hong` 时访问到 `192.168.200.1`
</code></pre>
<p>虽然在两个系统中设置的映射都是 <code>hong</code>，但是不影响我们使用，因为这是给当前系统使用的。</p>
<h3 id="重启网卡失败-service-network-restart-失败"><a href="#重启网卡失败-service-network-restart-失败" class="headerlink" title="重启网卡失败 service network restart 失败"></a>重启网卡失败 service network restart 失败</h3><blockquote>
<p>  概要： 报Job for network.service failed because the control process exited with error code. See “systemctl status network.service” and “journalctl -xe” for details. 的错误</p>
</blockquote>
<p>重启网络管理工具</p>
<blockquote>
<p>  systemctl stop NetworkManager</p>
<p>  systemctl disable NetworkManager</p>
</blockquote>
<p>然后重新启动服务</p>
<blockquote>
<p>  service network restart</p>
</blockquote>
<h2 id="进程管理"><a href="#进程管理" class="headerlink" title="进程管理"></a>进程管理</h2><h3 id="显示系统执行的进程"><a href="#显示系统执行的进程" class="headerlink" title="显示系统执行的进程"></a>显示系统执行的进程</h3><p><strong>基本介绍</strong></p>
<p><code>ps</code> 指令可以用来查看目前系统中有那些正在执行以及它们执行的状况。可以不加任何参数</p>
<p><strong><code>ps</code> 显示的信息选项</strong></p>
<table>
<thead>
<tr>
<th>字段</th>
<th>说明</th>
</tr>
</thead>
<tbody><tr>
<td>USER</td>
<td>用户名称</td>
</tr>
<tr>
<td>PID</td>
<td>进程标识号</td>
</tr>
<tr>
<td>%CPU</td>
<td>进程占用CPU的百分比</td>
</tr>
<tr>
<td>%MEM</td>
<td>进程占用的物理内容从百分比</td>
</tr>
<tr>
<td>VSZ</td>
<td>进程占用的虚拟内容的大小 ( 单位：KB )</td>
</tr>
<tr>
<td>RSS</td>
<td>进程占用的物理内容的大小 ( 单位：KB )</td>
</tr>
<tr>
<td>TTY</td>
<td>终端机号</td>
</tr>
<tr>
<td>STAT</td>
<td>进程状态：<code>S睡眠</code>、<code>s表示该进程是会话的先导进程</code>、<code>N表示进程拥有比普通优先级更低的优先级</code>、<code>R正在运行</code>、<code>D短期等待</code>、<code>Z僵死进程</code>、<code>T被跟踪或者被停止</code>…</td>
</tr>
<tr>
<td>STARTED</td>
<td>进程的启动时间</td>
</tr>
<tr>
<td>TIME</td>
<td>进程使用CPU的总时间</td>
</tr>
<tr>
<td>COMMAND</td>
<td>启动进程所用的命令和参数，如果过长会被截断显示</td>
</tr>
</tbody></table>
<p><strong>选项</strong></p>
<table>
<thead>
<tr>
<th>选项</th>
<th>说明</th>
</tr>
</thead>
<tbody><tr>
<td>-a</td>
<td>显示当前终端的所有进程信息</td>
</tr>
<tr>
<td>-u</td>
<td>以用户的格式显示进程信息</td>
</tr>
<tr>
<td>-x</td>
<td>显示后台进程运行的参数</td>
</tr>
</tbody></table>
<h3 id="中止进程"><a href="#中止进程" class="headerlink" title="中止进程"></a>中止进程</h3><p><strong>介绍</strong></p>
<p>若是某个进程执行过程需要停止时，或是已消耗了很大的系统资源时，此时可以考虑停止该进程，使用 <code>kill</code> 命令来完成此项任务</p>
<p><strong>基本语法</strong></p>
<p><code>kill 选项 进程号</code> ( 通过进程号中止进程 )</p>
<p><code>killall 进程名称</code> ( 通过进程名称中止进程，也支持通配符，这在系统因负载过大而变得很慢时很有用 )</p>
<p><strong>常用选项</strong></p>
<p><code>-9</code>：表示强迫进程立即停止</p>
<h4 id="实战"><a href="#实战" class="headerlink" title="实战"></a>实战</h4><p><strong>强制踢出指定的用户</strong></p>
<p>使用 <code>kill 4708</code> 结束这个进程，可以强制踢出指定的用户。</p>
<h4 id="中止远程登录-sshd-服务"><a href="#中止远程登录-sshd-服务" class="headerlink" title="中止远程登录 sshd 服务"></a>中止远程登录 <code>sshd</code> 服务</h4><p><code>ps -ef | gerp sshd</code> 找到 <code>sshd</code> 进程 <code>/user/sbin/sshd -D</code></p>
<p><code>kill 1110</code> 中止 <code>sshd</code> 服务</p>
<p>中止后将不能再远程登录到当前系统中。</p>
<p><strong>重启 <code>sshd</code> 服务</strong></p>
<p><code>/bin/systemctl start sshd.service</code></p>
<h3 id="查看进程树"><a href="#查看进程树" class="headerlink" title="查看进程树"></a>查看进程树</h3><p>基本语法：<code>pstree 选项</code></p>
<p>常用选项：</p>
<pre><code>`-p`：显示进程的 PID

`-u`：显示进程的所属用户
</code></pre>
<h3 id="服务管理"><a href="#服务管理" class="headerlink" title="服务管理"></a>服务管理</h3><h4 id="service"><a href="#service" class="headerlink" title="service"></a>service</h4><p><strong>介绍</strong></p>
<p>服务 ( service ) 本质就是进程，但是是运行在后台的，通常都会监听某个端口，等待其他程序的请求，比如 ( mysql，sshd，防火墙等 )，因此我们又称为守护进程，是 Linux 中非常重要的知识。</p>
<p><strong>service 管理指令</strong></p>
<ul>
<li>  <code>service 服务名 [start | stop | restart | reload | status]</code></li>
<li>  <span style="color: red"><strong>在 CentOS7.0 后很多服务不再使用 <code>service</code>，而是 <code>systemctl</code></strong></span></li>
<li>  <code>service</code> 指令管理的服务在 <code>/etc/init.d</code> 查看</li>
</ul>
<p><strong>查看服务名</strong></p>
<p>方式一：使用 <code>setup</code>，选择 <code>系统服务</code> 就可以看到全部</p>
<p>方式二：<code>ls -l /etc/init.d</code> 看到 <code>service</code> 指令管理的服务</p>
<h4 id="systemctl"><a href="#systemctl" class="headerlink" title="systemctl"></a>systemctl</h4><p><strong>systemctl 管理指令</strong></p>
<p>基本语法：<code>systemctl [start | stop | restart | status] 服务名</code></p>
<p><code>systemctl</code> 指令管理的服务在 <code>/usr/lib/systemd/system</code> 查看</p>
<p><strong>systemctl 设置服务自启动状态</strong></p>
<ul>
<li>  <code>systemctl list-unit-files [| grep 服务名]</code> ( 查看服务开机启动状态，grep 可以进行过滤 )</li>
<li>  <code>systemctl enable 服务名</code> ( 设置服务开机启动 )</li>
<li>  <code>systemctl disable 服务名</code> ( 关闭服务开机启动 )</li>
<li>  <code>systemctl is-enabled 服务名</code> ( 查询某个服务是否是自启动的 )</li>
</ul>
<h4 id="打开或者关闭指定端口"><a href="#打开或者关闭指定端口" class="headerlink" title="打开或者关闭指定端口"></a>打开或者关闭指定端口</h4><p>在真正的生产环境，往往需要将防火墙打开，但问题来了，如果我们把防火墙打开，那么外部请求数据包就不能跟服务器监听端口通讯。这是，需要打开指定的端口。比如80、22、8080等。</p>
<p><strong><code>firewall</code> 指令</strong></p>
<p>打开端口：<code>firewall-cmd --permanent --add-port=端口号/协议</code></p>
<p>关闭端口：<code>firewall-cmd --permanent --remove-port=端口号/协议</code></p>
<p>打开或关闭端口需要重新载入才能生效：<code>firewall-cmd --reload</code></p>
<p>查询端口是否开放：<code>firewall-cmd --query-port=端口/协议</code></p>
<p>查看指定端口的占用情况：<code>netstat -ano | grep 端口号</code></p>
<h3 id="动态监控进程"><a href="#动态监控进程" class="headerlink" title="动态监控进程"></a>动态监控进程</h3><p><strong>介绍</strong></p>
<p><code>top</code> 与 <code>ps</code> 命令很相似，它们都是用来显示正在执行的进程，<code>top</code> 与 <code>ps</code> 最大的不同之处，在于 <code>top</code> 在执行一段时间可以更新正在运行的进程。</p>
<p><strong>基本语法</strong></p>
<p><code>top 选项</code></p>
<p><strong>常用选项</strong></p>
<table>
<thead>
<tr>
<th>选项</th>
<th>功能</th>
</tr>
</thead>
<tbody><tr>
<td>-d 秒数</td>
<td>指定 <code>top</code> 命令每隔几秒更新，默认是3秒</td>
</tr>
<tr>
<td>-i</td>
<td>使 <code>top</code> 不显示任何闲置或者僵死进程</td>
</tr>
<tr>
<td>-p</td>
<td>通过指定监控进程ID来仅仅监控某个进程的状态</td>
</tr>
</tbody></table>
<p><strong>交互操作</strong></p>
<table>
<thead>
<tr>
<th>操作</th>
<th>说明</th>
</tr>
</thead>
<tbody><tr>
<td>P</td>
<td>以 CPU 使用率排序，默认就是此项</td>
</tr>
<tr>
<td>M</td>
<td>以内存的使用率进行排序</td>
</tr>
<tr>
<td>N</td>
<td>以 PID 排序</td>
</tr>
<tr>
<td>q</td>
<td>退出 top</td>
</tr>
</tbody></table>
<p><strong>实战</strong></p>
<p>监控指定的用户</p>
<p>输入 <code>top</code> 指令回车进入监控页面，再输入 <code>u</code> 回车，最后输入需要监控的用户的用户名。</p>
<p>终止指定的进程</p>
<p>输入 <code>top</code> 指令回车进入监控页面，再输入 <code>k</code> 回车，再输入要结束的进程的 ID 号，最后输入 <code>9</code> 强制结束进程</p>
<h3 id="监控网络状态"><a href="#监控网络状态" class="headerlink" title="监控网络状态"></a>监控网络状态</h3><p><strong>查看系统网络情况 <code>netstat</code></strong></p>
<p>基本语法：</p>
<pre><code>`netstat 选项`
</code></pre>
<p>选项说明：</p>
<pre><code>`-an`：按一定顺序排列输出

`-p`：显示哪个进程在调用
</code></pre>
<p><strong>检测主机连接命令 <code>ping</code></strong></p>
<p>是一种网络检测工具，它主要是用来检测远程主机是否正常，或是两部主机间的网线或网卡故障</p>
<p><code>ping 对方ip地址</code></p>
<h2 id="rpm-和-yum"><a href="#rpm-和-yum" class="headerlink" title="rpm 和 yum"></a><code>rpm</code> 和 <code>yum</code></h2><h3 id="rpm-包管理"><a href="#rpm-包管理" class="headerlink" title="rpm 包管理"></a>rpm 包管理</h3><h4 id="介绍"><a href="#介绍" class="headerlink" title="介绍"></a>介绍</h4><p>rpm 用于互联网下载包的打包及安装工具，它包含在某些 Linux 分发版中。它生成具有 <code>.RPM</code> 扩展名的文件。<code>RPM</code> 是 <code>RedHat Package Manager</code> ( RedHat 软件包管理工具 ) 的缩写，类似 <code>Windows</code> 的 <code>setup.exe</code>，这一文件格式名称虽然打上了 <code>RedHat</code> 标志，但理念是相同的。</p>
<p>Linux 的分发版都有采用 ( suse，redhat，centos… )，可以算是行业标准了。</p>
<h4 id="rpm-包的简单查询指令"><a href="#rpm-包的简单查询指令" class="headerlink" title="rpm 包的简单查询指令"></a>rpm 包的简单查询指令</h4><p><code>rpm -qa</code> ( 查看所有安装的 rpm 软件包 )</p>
<p><code>rpm -qa | more</code></p>
<p><code>rpm -qa | grep 过滤条件</code></p>
<p><code>rpm -q 软件包名</code> ( 查询软件包是否安装 )</p>
<p><code>rpm -qi 软件包名</code> ( 查询软件包信息 )</p>
<p><code>rpm -ql 软件包名</code> ( 查询软件包中的文件 )</p>
<p><code>rpm -qf 文件全路径名</code> ( 查询文件所属的软件包 )</p>
<h4 id="rpm-包名基本格式"><a href="#rpm-包名基本格式" class="headerlink" title="rpm 包名基本格式"></a>rpm 包名基本格式</h4><p>一个 <code>rpm</code> 包名：<code>firefox-60.0.0-1.el7.centos.x86_64</code></p>
<p>名称：<code>firefox</code></p>
<p>版本号：<code>60.0.0-1</code></p>
<p>使用操作系统：<code>el7.centos.x86_64</code> 表示 <code>centos7.x</code> 的64为系统</p>
<p>如果是 <code>i686</code>、<code>i386</code> 表示32为系统，<code>noarch</code> 表示通用。</p>
<h4 id="rpm-包卸载"><a href="#rpm-包卸载" class="headerlink" title="rpm 包卸载"></a>rpm 包卸载</h4><p>基本语法：</p>
<pre><code>`rpm -e RPM包的名称`
</code></pre>
<p>如果其他软件包依赖于您要卸载的软件包，卸载时会产生错误信息。可以增加参数 <code>--nodeps</code> 就可以强制删除 <code>rpm -e --nodeps RPM包的名称</code></p>
<h4 id="rpm-包的安装"><a href="#rpm-包的安装" class="headerlink" title="rpm 包的安装"></a>rpm 包的安装</h4><p>基本语法：</p>
<pre><code>`rpm -ivh RPM包全路径名称`
</code></pre>
<p>参数说明</p>
<pre><code>`i`：install 安装

`v`：verbose 提示

`h`：hash 进度条
</code></pre>
<h3 id="yum"><a href="#yum" class="headerlink" title="yum"></a>yum</h3><p><strong>介绍</strong></p>
<p><code>yum</code> 是一个 <code>shell</code> 前端软件包管理器。基于 <code>RPM</code> 包管理，能够从指定的服务器自动下载 <code>RPM</code> 包并且安装，可以自动处理依赖性关系，并且一次安装所有依赖的软件包。</p>
<p><strong>yum 的基本指令</strong></p>
<p><code>yum list | grep 软件</code> ( 查询 yum 服务器是否有指定的软件 )</p>
<p><code>yum install 软件</code> ( 下载安装 )</p>
<h2 id="搭建-JavaEE-环境"><a href="#搭建-JavaEE-环境" class="headerlink" title="搭建 JavaEE 环境"></a>搭建 JavaEE 环境</h2><h3 id="安装-JDK8"><a href="#安装-JDK8" class="headerlink" title="安装 JDK8"></a>安装 JDK8</h3><ol>
<li><p><code>mkdir /opt/jdk</code> 创建一个目录存放安装包</p>
</li>
<li><p>通过 <code>xftp</code> 上传 <code>jdk8</code> 安装包到 <code>/opt/jdk</code> 下</p>
</li>
<li><p><code>cd /opt/jdk</code> </p>
</li>
<li><p>解压 <code>tar -zxvf 压缩包名</code></p>
</li>
<li><p><code>mkdir /usr/local/java</code> 创建一个目录存放解压好的 <code>jdk</code></p>
</li>
<li><p><code>mv /opt/jdk/解压好的jkd目录名 /usr/local/jdk</code> 移动解压好的 <code>jdk</code></p>
</li>
<li><p>配置环境变量的配置文件 <code>vim /etc/profile</code></p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> java environment</span></span><br><span class="line">export JAVA_HOME=jdk存放的绝对路径 #这是我的路径/usr/local/jdk/jdk1.8.0_181</span><br><span class="line">export CLASSPATH=.:$&#123;JAVA_HOME&#125;/jre/lib/rt.jar:$&#123;JAVA_HOME&#125;/lib/dt.jar:$&#123;JAVA_HOME&#125;/lib/tools.jar</span><br><span class="line">export PATH=$PATH:$&#123;JAVA_HOME&#125;/bin</span><br></pre></td></tr></table></figure></li>
<li><p><code>source /etc/profile</code> 刷新环境变量的配置文件让文件生效</p>
</li>
<li><p>命令行输入 <code>java</code>、<code>javac</code> 测试</p>
</li>
</ol>
<h3 id="安装-Tomcat"><a href="#安装-Tomcat" class="headerlink" title="安装 Tomcat"></a>安装 Tomcat</h3><ol>
<li><p><code>mkdir /opt/tomcat</code> </p>
</li>
<li><p>上传压缩文件</p>
</li>
<li><p><code>tar -zxvf 压缩包名</code> 解压 Tomcat</p>
</li>
<li><p><code>mkdir /usr/local/tomcat</code></p>
</li>
<li><p><code>mv /opt/tomcat/解压好的tomcat目录名 /usr/local/tomcat</code></p>
</li>
<li><p><code>cd /usr/local/tomcat/apache-tomcat-9.0.46/bin</code> 进入到 <code>bin</code> 目录</p>
</li>
<li><p><code>./startup.sh </code> 启动 Tomcat</p>
</li>
<li><p><code>firewall-cmd --permanent --add-port=8080/tcp</code> 开放8080端口</p>
</li>
<li><p><code>firewall-cmd --reload</code> 使之生效</p>
</li>
<li><p><code>firewall-cmd --query-port=8080/tcp</code> 检测是否成功打开8080端口</p>
</li>
<li><p>在 Windows 下访问 Linux 系统的 8080 端口测试是否成功</p>
</li>
<li><p><code>vim /etc/rc.d/rc.local</code> 自定义开机启动程序</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">export JAVA_HOME=/usr/local/jdk/jdk1.8.0_181  #你的jdk路径</span><br><span class="line">/usr/local/tomcat/apache-tomcat-9.0.46/bin/startup.sh #tomcat下startup.sh文件的路径</span><br></pre></td></tr></table></figure></li>
<li><p><code>chmod 751 /etc/rc.d/rc.local</code> 修改权限</p>
</li>
</ol>
<h3 id="安装IDEA2020"><a href="#安装IDEA2020" class="headerlink" title="安装IDEA2020"></a>安装IDEA2020</h3><ol>
<li> <code>mkdir /opt/idea</code></li>
<li> 上传压缩文件</li>
<li> <code>tar -zxvf 压缩包名</code> 解压</li>
<li> <code>mkdir /usr/local/idea</code></li>
<li> 移动压缩后的文件夹到 /usr/local/idea 中</li>
<li> <code> cd idea-IU-211.7142.45/bin</code> 进入到 <code>bin</code> 目录</li>
<li> <code>./idea.sh</code> 运行 IDEA。需要在图形化界面才能运行</li>
</ol>
<h3 id="安装-MySql5-7"><a href="#安装-MySql5-7" class="headerlink" title="安装 MySql5.7"></a>安装 MySql5.7</h3><ol>
<li><p><code>mkdir /opt/mysql</code></p>
</li>
<li><p><code>cd /opt/mysql</code></p>
</li>
<li><p><code>wget http://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar</code> 下载压缩包</p>
</li>
<li><p><span style="color: red;"><strong>CentOS7.6自带的类 MySql 数据库是 mariadb，会跟 MySql 冲突，要先删除</strong></span></p>
<ol>
<li> 运行 <code>rpm -qa | grep mari</code>，查询 mariadb 相关安装包</li>
<li> 运行 <code>rpm -e --nodeps mariadb-libs</code> 卸载</li>
<li> 运行 <code>rpm -e --nodeps marisa</code> 卸载</li>
</ol>
</li>
<li><p><code>tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar </code> 解压</p>
</li>
<li><p>按顺序执行已下指令</p>
<ol>
<li> <code>rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm</code></li>
<li> <code>rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm</code></li>
<li> <code>rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm</code></li>
<li> <code>rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm</code></li>
</ol>
</li>
<li><p>运行 <code>systemctl start mysqld.service</code>，启动 mysql</p>
</li>
<li><p>然后开始设置 root 用户密码。Mysql 自动给 root 用户设置随机密码，运行 <code>grep &quot;password&quot; /var/log/mysqld.log</code> 可查看当前密码</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 密码在最后面: Q-V(rf*L_7hW</span></span><br><span class="line">2021-05-21T04:39:27.241374Z 1 [Note] A temporary password is generated for root@localhost: Q-V(rf*L_7hW</span><br></pre></td></tr></table></figure></li>
<li><p>运行 <code>mysql -u root -p</code>，用 root 用户登录，提示输入密码可用上面指令显示的密码，可以成功登录进入 mysql 命令行</p>
</li>
<li><p>设置 root 密码，对于个人开发环境，如果要设比较简单的密码 ( 生产环境服务器要设复杂密码 )，可以运行 <code>set global validate_password_policy=0;</code>；提示密码设置策略 ( <code>validate_password_policy 默认值为1</code> )</p>
</li>
<li><p>设置密码最小长度 <code>set global validate_password_length=4;</code></p>
</li>
<li><p><code>set password for &#39;root&#39;@&#39;localhost&#39; =password(&#39;1234&#39;);</code></p>
</li>
<li><p>运行 <code>flush privileges;</code> 使密码设置生效</p>
</li>
</ol>
</article><div class="post-copyright"><div class="post-copyright__author"><span class="post-copyright-meta">文章作者: </span><span class="post-copyright-info"><a href="mailto:undefined">SuJin</a></span></div><div class="post-copyright__type"><span class="post-copyright-meta">文章链接: </span><span class="post-copyright-info"><a href="https://sujiesujie12456789.gitee.io/2021/06/30/Linux/">https://sujiesujie12456789.gitee.io/2021/06/30/Linux/</a></span></div><div class="post-copyright__notice"><span class="post-copyright-meta">版权声明: </span><span class="post-copyright-info">本博客所有文章除特别声明外，均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">CC BY-NC-SA 4.0</a> 许可协议。转载请注明来自 <a href="https://sujiesujie12456789.gitee.io" target="_blank">SuJin博客</a>！</span></div></div><div class="tag_share"><div class="post-meta__tag-list"></div><div class="post_share"><div class="social-share" data-image="https://picsum.photos/id/862/5451/3634" data-sites="facebook,twitter,wechat,weibo,qq"></div><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/social-share.js/dist/css/share.min.css" media="print" onload="this.media='all'"><script src="https://cdn.jsdelivr.net/npm/social-share.js/dist/js/social-share.min.js" defer></script></div></div><nav class="pagination-post" id="pagination"><div class="prev-post pull-left"><a href="/2021/08/30/Git/"><img class="prev-cover" src="https://picsum.photos/id/862/5451/3634" onerror="onerror=null;src='/img/404.jpg'" alt="cover of previous post"><div class="pagination-info"><div class="label">上一篇</div><div class="prev_info">Git</div></div></a></div><div class="next-post pull-right"><a href="/2021/04/30/Spring%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/"><img class="next-cover" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/img/default.jpg" onerror="onerror=null;src='/img/404.jpg'" alt="cover of next post"><div class="pagination-info"><div class="label">下一篇</div><div class="next_info">Spring学习笔记</div></div></a></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="http://picsum.photos/id/859/1919/1919" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">SuJin</div><div class="author-info__description">SuJin的博客，欢迎访问</div></div><div class="card-info-data is-center"><div class="card-info-data-item"><a href="/archives/"><div class="headline">文章</div><div class="length-num">11</div></a></div><div class="card-info-data-item"><a href="/tags/"><div class="headline">标签</div><div class="length-num">0</div></a></div><div class="card-info-data-item"><a href="/categories/"><div class="headline">分类</div><div class="length-num">0</div></a></div></div><a class="button--animated" id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/xxxxxx"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://gitee.com/sujin1125" target="_blank" title="Gitee"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:sujin_a@163.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a><a class="social-icon" href="https://sujin1125.gitee.io/" target="_blank" title="博客"><i class="fab fa-algolia"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn card-announcement-animation"></i><span>公告</span></div><div class="announcement_content">This is my Blog</div></div><div class="sticky_layout"><div class="card-widget" id="card-toc"><div class="item-headline"><i class="fas fa-stream"></i><span>目录</span><span class="toc-percentage"></span></div><div class="toc-content"><ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#Linux"><span class="toc-number">1.</span> <span class="toc-text">Linux</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%BF%9C%E7%A8%8B%E7%99%BB%E5%BD%95-CentOS"><span class="toc-number">1.0.1.</span> <span class="toc-text">远程登录 CentOS</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%BF%9C%E7%A8%8B%E6%96%87%E4%BB%B6%E4%BC%A0%E8%BE%93"><span class="toc-number">1.0.2.</span> <span class="toc-text">远程文件传输</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Vim-%E7%BC%96%E8%BE%91%E5%99%A8"><span class="toc-number">1.1.</span> <span class="toc-text">Vim 编辑器</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#Vim-%E7%9A%84%E4%B8%89%E7%A7%8D%E6%A8%A1%E5%BC%8F"><span class="toc-number">1.1.1.</span> <span class="toc-text">Vim 的三种模式</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Vim-%E5%BF%AB%E6%8D%B7%E9%94%AE"><span class="toc-number">1.1.2.</span> <span class="toc-text">Vim 快捷键</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4"><span class="toc-number">1.2.</span> <span class="toc-text">常用命令</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%85%B3%E6%9C%BA%E9%87%8D%E5%90%AF"><span class="toc-number">1.2.1.</span> <span class="toc-text">关机重启</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E5%92%8C%E6%B3%A8%E9%94%80"><span class="toc-number">1.2.2.</span> <span class="toc-text">用户登录和注销</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86"><span class="toc-number">1.2.3.</span> <span class="toc-text">用户管理</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%B7%BB%E5%8A%A0%E7%94%A8%E6%88%B7"><span class="toc-number">1.2.3.1.</span> <span class="toc-text">添加用户</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E4%BF%AE%E6%94%B9%E5%AF%86%E7%A0%81"><span class="toc-number">1.2.3.2.</span> <span class="toc-text">修改密码</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%88%A0%E9%99%A4%E7%94%A8%E6%88%B7"><span class="toc-number">1.2.3.3.</span> <span class="toc-text">删除用户</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%9F%A5%E7%9C%8B%E7%94%A8%E6%88%B7%E4%BF%A1%E6%81%AF"><span class="toc-number">1.2.3.4.</span> <span class="toc-text">查看用户信息</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%88%87%E6%8D%A2%E7%94%A8%E6%88%B7"><span class="toc-number">1.2.3.5.</span> <span class="toc-text">切换用户</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%9F%A5%E7%9C%8B%E5%BD%93%E5%89%8D%E7%94%A8%E6%88%B7"><span class="toc-number">1.2.3.6.</span> <span class="toc-text">查看当前用户</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%94%A8%E6%88%B7%E7%BB%84"><span class="toc-number">1.2.3.7.</span> <span class="toc-text">用户组</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%94%A8%E6%88%B7%E5%92%8C%E7%94%A8%E6%88%B7%E7%BB%84%E7%9B%B8%E5%85%B3%E6%96%87%E4%BB%B6"><span class="toc-number">1.2.3.8.</span> <span class="toc-text">用户和用户组相关文件</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%BF%90%E8%A1%8C%E7%BA%A7%E5%88%AB"><span class="toc-number">1.2.4.</span> <span class="toc-text">运行级别</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%89%BE%E5%9B%9E-root-%E5%AF%86%E7%A0%81"><span class="toc-number">1.2.5.</span> <span class="toc-text">找回 root 密码</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%B8%AE%E5%8A%A9%E6%8C%87%E4%BB%A4"><span class="toc-number">1.2.6.</span> <span class="toc-text">帮助指令</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%96%87%E4%BB%B6%E7%9B%AE%E5%BD%95%E7%B1%BB"><span class="toc-number">1.2.7.</span> <span class="toc-text">文件目录类</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%9F%A5%E7%9C%8B%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E7%9A%84%E7%BB%9D%E5%AF%B9%E8%B7%AF%E5%BE%84"><span class="toc-number">1.2.7.1.</span> <span class="toc-text">查看当前工作目录的绝对路径</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%9F%A5%E7%9C%8B%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6%E5%92%8C%E6%96%87%E4%BB%B6%E5%A4%B9"><span class="toc-number">1.2.7.2.</span> <span class="toc-text">查看目录下的文件和文件夹</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%88%87%E6%8D%A2%E7%9B%AE%E5%BD%95"><span class="toc-number">1.2.7.3.</span> <span class="toc-text">切换目录</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%88%9B%E5%BB%BA%E7%9B%AE%E5%BD%95"><span class="toc-number">1.2.7.4.</span> <span class="toc-text">创建目录</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%88%A0%E9%99%A4%E7%A9%BA%E7%9B%AE%E5%BD%95"><span class="toc-number">1.2.7.5.</span> <span class="toc-text">删除空目录</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%88%9B%E5%BB%BA%E7%A9%BA%E6%96%87%E4%BB%B6"><span class="toc-number">1.2.7.6.</span> <span class="toc-text">创建空文件</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%8B%B7%E8%B4%9D%E6%96%87%E4%BB%B6%E6%88%96%E6%96%87%E4%BB%B6%E5%A4%B9"><span class="toc-number">1.2.7.7.</span> <span class="toc-text">拷贝文件或文件夹</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%E6%88%96%E6%96%87%E4%BB%B6%E5%A4%B9"><span class="toc-number">1.2.7.8.</span> <span class="toc-text">删除文件或文件夹</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%A7%BB%E5%8A%A8%E6%96%87%E4%BB%B6%E4%B8%8E%E7%9B%AE%E5%BD%95%E6%88%96%E9%87%8D%E5%91%BD%E5%90%8D"><span class="toc-number">1.2.7.9.</span> <span class="toc-text">移动文件与目录或重命名</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%9F%A5%E7%9C%8B%E6%96%87%E4%BB%B6%E5%86%85%E5%AE%B9"><span class="toc-number">1.2.7.10.</span> <span class="toc-text">查看文件内容</span></a><ol class="toc-child"><li class="toc-item toc-level-5"><a class="toc-link" href="#cat-%E6%8C%87%E4%BB%A4"><span class="toc-number">1.2.7.10.1.</span> <span class="toc-text">cat 指令</span></a></li><li class="toc-item toc-level-5"><a class="toc-link" href="#more-%E6%8C%87%E4%BB%A4"><span class="toc-number">1.2.7.10.2.</span> <span class="toc-text">more 指令</span></a></li><li class="toc-item toc-level-5"><a class="toc-link" href="#less-%E6%8C%87%E4%BB%A4"><span class="toc-number">1.2.7.10.3.</span> <span class="toc-text">less 指令</span></a></li></ol></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E8%BE%93%E5%87%BA%E5%86%85%E5%AE%B9%E5%88%B0%E6%8E%A7%E5%88%B6%E5%8F%B0"><span class="toc-number">1.2.7.11.</span> <span class="toc-text">输出内容到控制台</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%98%BE%E7%A4%BA%E6%96%87%E4%BB%B6%E7%9A%84%E5%BC%80%E5%A4%B4%E9%83%A8%E5%88%86%E5%86%85%E5%AE%B9"><span class="toc-number">1.2.7.12.</span> <span class="toc-text">显示文件的开头部分内容</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%98%BE%E7%A4%BA%E6%96%87%E4%BB%B6%E7%9A%84%E5%B0%BE%E9%83%A8%E9%83%A8%E5%88%86%E5%86%85%E5%AE%B9"><span class="toc-number">1.2.7.13.</span> <span class="toc-text">显示文件的尾部部分内容</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#gt-%E6%8C%87%E4%BB%A4-%E5%92%8C-gt-gt-%E6%8C%87%E4%BB%A4"><span class="toc-number">1.2.7.14.</span> <span class="toc-text">&gt; 指令 和 &gt;&gt; 指令</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#ln-%E6%8C%87%E4%BB%A4"><span class="toc-number">1.2.7.15.</span> <span class="toc-text">ln 指令</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%9F%A5%E7%9C%8B%E6%89%A7%E8%A1%8C%E8%BF%87%E7%9A%84%E5%8E%86%E5%8F%B2%E6%8C%87%E4%BB%A4"><span class="toc-number">1.2.7.16.</span> <span class="toc-text">查看执行过的历史指令</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%97%B6%E9%97%B4%E6%97%A5%E6%9C%9F"><span class="toc-number">1.2.8.</span> <span class="toc-text">时间日期</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%98%BE%E7%A4%BA%E5%BD%93%E5%89%8D%E6%97%B6%E9%97%B4"><span class="toc-number">1.2.8.1.</span> <span class="toc-text">显示当前时间</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E8%AE%BE%E7%BD%AE%E6%97%A5%E6%9C%9F"><span class="toc-number">1.2.8.2.</span> <span class="toc-text">设置日期</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%9F%A5%E7%9C%8B%E6%97%A5%E5%8E%86"><span class="toc-number">1.2.8.3.</span> <span class="toc-text">查看日历</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%90%9C%E7%B4%A2%E6%9F%A5%E6%89%BE"><span class="toc-number">1.2.9.</span> <span class="toc-text">搜索查找</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%9F%A5%E6%89%BE%E6%96%87%E4%BB%B6%E6%88%96%E7%9B%AE%E5%BD%95"><span class="toc-number">1.2.9.1.</span> <span class="toc-text">查找文件或目录</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%BF%AB%E9%80%9F%E5%AE%9A%E4%BD%8D%E6%96%87%E4%BB%B6%E8%B7%AF%E5%BE%84"><span class="toc-number">1.2.9.2.</span> <span class="toc-text">快速定位文件路径</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E8%BF%87%E6%BB%A4%E6%9F%A5%E6%89%BE"><span class="toc-number">1.2.9.3.</span> <span class="toc-text">过滤查找</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%8E%8B%E7%BC%A9%E5%92%8C%E8%A7%A3%E5%8E%8B"><span class="toc-number">1.2.10.</span> <span class="toc-text">压缩和解压</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#gzip-gunzip-%E6%8C%87%E4%BB%A4"><span class="toc-number">1.2.10.1.</span> <span class="toc-text">gzip&#x2F;gunzip 指令</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#zip-unzip-%E6%8C%87%E4%BB%A4"><span class="toc-number">1.2.10.2.</span> <span class="toc-text">zip&#x2F;unzip 指令</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#tar-%E6%8C%87%E4%BB%A4"><span class="toc-number">1.2.10.3.</span> <span class="toc-text">tar 指令</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%BB%84%E7%AE%A1%E7%90%86"><span class="toc-number">1.2.11.</span> <span class="toc-text">组管理</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%96%87%E4%BB%B6-%E7%9B%AE%E5%BD%95-%E6%89%80%E6%9C%89%E8%80%85"><span class="toc-number">1.2.11.1.</span> <span class="toc-text">文件&#x2F;目录 所有者</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%BB%84%E7%9A%84%E5%88%9B%E5%BB%BA"><span class="toc-number">1.2.11.2.</span> <span class="toc-text">组的创建</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%96%87%E4%BB%B6-%E7%9B%AE%E5%BD%95-%E6%89%80%E5%9C%A8%E7%BB%84"><span class="toc-number">1.2.11.3.</span> <span class="toc-text">文件&#x2F;目录 所在组</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%85%B6%E4%BB%96%E7%BB%84"><span class="toc-number">1.2.11.4.</span> <span class="toc-text">其他组</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%94%B9%E5%8F%98%E7%94%A8%E6%88%B7%E6%89%80%E5%9C%A8%E7%BB%84"><span class="toc-number">1.2.11.5.</span> <span class="toc-text">改变用户所在组</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%9D%83%E9%99%90%E7%AE%A1%E7%90%86"><span class="toc-number">1.2.12.</span> <span class="toc-text">权限管理</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%9D%83%E9%99%90%E7%9A%84%E5%9F%BA%E6%9C%AC%E4%BB%8B%E7%BB%8D"><span class="toc-number">1.2.12.1.</span> <span class="toc-text">权限的基本介绍</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#rwx%E6%9D%83%E9%99%90%E8%AF%A6%E8%A7%A3"><span class="toc-number">1.2.12.2.</span> <span class="toc-text">rwx权限详解</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E4%BF%AE%E6%94%B9%E6%9D%83%E9%99%90"><span class="toc-number">1.2.12.3.</span> <span class="toc-text">修改权限</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E4%BF%AE%E6%94%B9%E6%96%87%E4%BB%B6-%E7%9B%AE%E5%BD%95%E6%89%80%E6%9C%89%E8%80%85"><span class="toc-number">1.2.12.4.</span> <span class="toc-text">修改文件&#x2F;目录所有者</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E4%BF%AE%E6%94%B9%E6%96%87%E4%BB%B6-%E7%9B%AE%E5%BD%95%E6%89%80%E5%9C%A8%E7%BB%84"><span class="toc-number">1.2.12.5.</span> <span class="toc-text">修改文件&#x2F;目录所在组</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#crond-%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6"><span class="toc-number">1.2.13.</span> <span class="toc-text">crond 任务调度</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8"><span class="toc-number">1.2.13.1.</span> <span class="toc-text">快速入门</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#crond-%E7%9B%B8%E5%85%B3%E6%8C%87%E4%BB%A4"><span class="toc-number">1.2.13.2.</span> <span class="toc-text">crond 相关指令</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#at-%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1"><span class="toc-number">1.2.13.3.</span> <span class="toc-text">at 定时任务</span></a></li></ol></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%A3%81%E7%9B%98%E5%88%86%E5%8C%BA"><span class="toc-number">1.3.</span> <span class="toc-text">磁盘分区</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%A3%81%E7%9B%98%E5%88%86%E5%8C%BA%E6%9C%BA%E5%88%B6"><span class="toc-number">1.3.1.</span> <span class="toc-text">磁盘分区机制</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%9F%A5%E7%9C%8B%E6%89%80%E6%9C%89%E8%AE%BE%E5%A4%87%E6%8C%82%E8%BD%BD%E6%83%85%E5%86%B5"><span class="toc-number">1.3.1.1.</span> <span class="toc-text">查看所有设备挂载情况</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%A1%AC%E7%9B%98%E8%AF%B4%E6%98%8E"><span class="toc-number">1.3.1.2.</span> <span class="toc-text">硬盘说明</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%A2%9E%E5%8A%A0%E4%B8%80%E5%9D%97%E7%A1%AC%E7%9B%98"><span class="toc-number">1.3.1.3.</span> <span class="toc-text">增加一块硬盘</span></a><ol class="toc-child"><li class="toc-item toc-level-5"><a class="toc-link" href="#%E8%99%9A%E6%8B%9F%E6%9C%BA%E6%B7%BB%E5%8A%A0%E7%A1%AC%E7%9B%98"><span class="toc-number">1.3.1.3.1.</span> <span class="toc-text">虚拟机添加硬盘</span></a></li><li class="toc-item toc-level-5"><a class="toc-link" href="#%E5%88%86%E5%8C%BA"><span class="toc-number">1.3.1.3.2.</span> <span class="toc-text">分区</span></a></li><li class="toc-item toc-level-5"><a class="toc-link" href="#%E6%A0%BC%E5%BC%8F%E5%8C%96"><span class="toc-number">1.3.1.3.3.</span> <span class="toc-text">格式化</span></a></li><li class="toc-item toc-level-5"><a class="toc-link" href="#%E6%8C%82%E8%BD%BD"><span class="toc-number">1.3.1.3.4.</span> <span class="toc-text">挂载</span></a></li><li class="toc-item toc-level-5"><a class="toc-link" href="#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E6%8C%82%E8%BD%BD"><span class="toc-number">1.3.1.3.5.</span> <span class="toc-text">设置自动挂载</span></a></li></ol></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%A3%81%E7%9B%98%E6%83%85%E5%86%B5%E6%9F%A5%E8%AF%A2"><span class="toc-number">1.3.1.4.</span> <span class="toc-text">磁盘情况查询</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%A3%81%E7%9B%98%E6%83%85%E5%86%B5%E5%AE%9E%E7%94%A8%E6%8C%87%E4%BB%A4"><span class="toc-number">1.3.1.5.</span> <span class="toc-text">磁盘情况实用指令</span></a></li></ol></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Linux-%E7%BD%91%E7%BB%9C%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE"><span class="toc-number">1.4.</span> <span class="toc-text">Linux 网络环境配置</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%8C%87%E5%AE%9A-IP"><span class="toc-number">1.4.1.</span> <span class="toc-text">指定 IP</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%AC%AC%E4%B8%80%E6%AD%A5"><span class="toc-number">1.4.1.1.</span> <span class="toc-text">第一步</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%AC%AC%E4%BA%8C%E6%AD%A5"><span class="toc-number">1.4.1.2.</span> <span class="toc-text">第二步</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%AC%AC%E4%B8%89%E6%AD%A5"><span class="toc-number">1.4.1.3.</span> <span class="toc-text">第三步</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%AE%BE%E7%BD%AE%E4%B8%BB%E6%9C%BA%E5%90%8D"><span class="toc-number">1.4.2.</span> <span class="toc-text">设置主机名</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%AE%BE%E7%BD%AE-hosts-%E6%98%A0%E5%B0%84"><span class="toc-number">1.4.3.</span> <span class="toc-text">设置 hosts 映射</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E9%87%8D%E5%90%AF%E7%BD%91%E5%8D%A1%E5%A4%B1%E8%B4%A5-service-network-restart-%E5%A4%B1%E8%B4%A5"><span class="toc-number">1.4.4.</span> <span class="toc-text">重启网卡失败 service network restart 失败</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86"><span class="toc-number">1.5.</span> <span class="toc-text">进程管理</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%98%BE%E7%A4%BA%E7%B3%BB%E7%BB%9F%E6%89%A7%E8%A1%8C%E7%9A%84%E8%BF%9B%E7%A8%8B"><span class="toc-number">1.5.1.</span> <span class="toc-text">显示系统执行的进程</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E4%B8%AD%E6%AD%A2%E8%BF%9B%E7%A8%8B"><span class="toc-number">1.5.2.</span> <span class="toc-text">中止进程</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%AE%9E%E6%88%98"><span class="toc-number">1.5.2.1.</span> <span class="toc-text">实战</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E4%B8%AD%E6%AD%A2%E8%BF%9C%E7%A8%8B%E7%99%BB%E5%BD%95-sshd-%E6%9C%8D%E5%8A%A1"><span class="toc-number">1.5.2.2.</span> <span class="toc-text">中止远程登录 sshd 服务</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%9F%A5%E7%9C%8B%E8%BF%9B%E7%A8%8B%E6%A0%91"><span class="toc-number">1.5.3.</span> <span class="toc-text">查看进程树</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%9C%8D%E5%8A%A1%E7%AE%A1%E7%90%86"><span class="toc-number">1.5.4.</span> <span class="toc-text">服务管理</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#service"><span class="toc-number">1.5.4.1.</span> <span class="toc-text">service</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#systemctl"><span class="toc-number">1.5.4.2.</span> <span class="toc-text">systemctl</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%89%93%E5%BC%80%E6%88%96%E8%80%85%E5%85%B3%E9%97%AD%E6%8C%87%E5%AE%9A%E7%AB%AF%E5%8F%A3"><span class="toc-number">1.5.4.3.</span> <span class="toc-text">打开或者关闭指定端口</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%8A%A8%E6%80%81%E7%9B%91%E6%8E%A7%E8%BF%9B%E7%A8%8B"><span class="toc-number">1.5.5.</span> <span class="toc-text">动态监控进程</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%9B%91%E6%8E%A7%E7%BD%91%E7%BB%9C%E7%8A%B6%E6%80%81"><span class="toc-number">1.5.6.</span> <span class="toc-text">监控网络状态</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#rpm-%E5%92%8C-yum"><span class="toc-number">1.6.</span> <span class="toc-text">rpm 和 yum</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#rpm-%E5%8C%85%E7%AE%A1%E7%90%86"><span class="toc-number">1.6.1.</span> <span class="toc-text">rpm 包管理</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E4%BB%8B%E7%BB%8D"><span class="toc-number">1.6.1.1.</span> <span class="toc-text">介绍</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#rpm-%E5%8C%85%E7%9A%84%E7%AE%80%E5%8D%95%E6%9F%A5%E8%AF%A2%E6%8C%87%E4%BB%A4"><span class="toc-number">1.6.1.2.</span> <span class="toc-text">rpm 包的简单查询指令</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#rpm-%E5%8C%85%E5%90%8D%E5%9F%BA%E6%9C%AC%E6%A0%BC%E5%BC%8F"><span class="toc-number">1.6.1.3.</span> <span class="toc-text">rpm 包名基本格式</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#rpm-%E5%8C%85%E5%8D%B8%E8%BD%BD"><span class="toc-number">1.6.1.4.</span> <span class="toc-text">rpm 包卸载</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#rpm-%E5%8C%85%E7%9A%84%E5%AE%89%E8%A3%85"><span class="toc-number">1.6.1.5.</span> <span class="toc-text">rpm 包的安装</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#yum"><span class="toc-number">1.6.2.</span> <span class="toc-text">yum</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%90%AD%E5%BB%BA-JavaEE-%E7%8E%AF%E5%A2%83"><span class="toc-number">1.7.</span> <span class="toc-text">搭建 JavaEE 环境</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%AE%89%E8%A3%85-JDK8"><span class="toc-number">1.7.1.</span> <span class="toc-text">安装 JDK8</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%AE%89%E8%A3%85-Tomcat"><span class="toc-number">1.7.2.</span> <span class="toc-text">安装 Tomcat</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%AE%89%E8%A3%85IDEA2020"><span class="toc-number">1.7.3.</span> <span class="toc-text">安装IDEA2020</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%AE%89%E8%A3%85-MySql5-7"><span class="toc-number">1.7.4.</span> <span class="toc-text">安装 MySql5.7</span></a></li></ol></li></ol></li></ol></div></div><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/2022/04/15/java%E7%AC%94%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93/" title="“java笔试题总结”"><img src="https://picsum.photos/id/862/5451/3634" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="“java笔试题总结”"/></a><div class="content"><a class="title" href="/2022/04/15/java%E7%AC%94%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93/" title="“java笔试题总结”">“java笔试题总结”</a><time datetime="2022-04-15T07:53:41.000Z" title="发表于 2022-04-15 15:53:41">2022-04-15</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/03/30/Nginx/" title="Nginx"><img src="https://picsum.photos/id/862/5451/3634" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Nginx"/></a><div class="content"><a class="title" href="/2022/03/30/Nginx/" title="Nginx">Nginx</a><time datetime="2022-03-30T14:01:07.000Z" title="发表于 2022-03-30 22:01:07">2022-03-30</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/03/30/SpringMVC%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/" title="SpringMVC学习笔记"><img src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/img/default.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="SpringMVC学习笔记"/></a><div class="content"><a class="title" href="/2022/03/30/SpringMVC%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/" title="SpringMVC学习笔记">SpringMVC学习笔记</a><time datetime="2022-03-30T13:35:27.000Z" title="发表于 2022-03-30 21:35:27">2022-03-30</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/03/30/MyBatis/" title="MyBatis学习"><img src="https://picsum.photos/id/862/5451/3634" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="MyBatis学习"/></a><div class="content"><a class="title" href="/2022/03/30/MyBatis/" title="MyBatis学习">MyBatis学习</a><time datetime="2022-03-30T13:08:22.000Z" title="发表于 2022-03-30 21:08:22">2022-03-30</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2021/12/18/redis/" title="redis笔记"><img src="https://picsum.photos/id/862/5451/3634" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="redis笔记"/></a><div class="content"><a class="title" href="/2021/12/18/redis/" title="redis笔记">redis笔记</a><time datetime="2021-12-18T12:47:07.000Z" title="发表于 2021-12-18 20:47:07">2021-12-18</time></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">&copy;2020 - 2022 By SuJin</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="readmode" type="button" title="阅读模式"><i class="fas fa-book-open"></i></button><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button class="close" id="mobile-toc-button" type="button" title="目录"><i class="fas fa-list-ul"></i></button><button id="go-up" type="button" title="回到顶部"><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.umd.js"></script><div class="js-pjax"></div><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>